Technical Q&A QA1116
couldNotResolveDataRef (-2000) returned from DataHSetDataRef and OpenADataHandler


QÅFåªç›ÅAÉGÉNÉXÉ|Å[ÉgÉRÉìÉ|Å[ÉlÉìÉgÇ… MovieExportFromProceduresToDataRef ä÷êîÇé¿ëïǵÇÊǧÇΔǵǃǢNjÇ∑Ç™ÅADataHSetDataRef API Ç‹ÇΩÇÕ OpenADataHandler API ÇégǧÇΔ couldNotResolveDataRef ÉGÉâÅ[Ç…ëòãˆÇµÇ‹Ç∑ÅB

DataHSetDataRef ÇÃèÍçáÇ≈ÇÕÅAìnÇ≥ÇÍÇΩ dataRefType Åiåªç› 'alis' ÇÃéQèΔÇæÇØÇëŒè€Ç…ǵǃǢNjÇ∑ÅjÇÃÇΩÇflÇÃÉnÉìÉhÉâÇ™å©Ç¬Ç©ÇÈÇ‹Ç≈ÅAîΩïúèàóùÇ≈Ç∑Ç◊ǃÇÃÉfÅ[É^ÉnÉìÉhÉâÉRÉìÉ|Å[ÉlÉìÉgÇëŒè€Ç… FindNextComponent ÇéËçÏãΔÇ≈é¿çsǵǃǢNjÇ∑ÅBOpenComponent ÇégǡǃÉRÉìÉ|Å[ÉlÉìÉgÇäJÇ´ÅADataHSetDataRef ÇåƒÇ—èoÇ∑ÇΔ couldNotResolveDataRef (-2000) ÉGÉâÅ[Ç…Ç»ÇËÇ‹Ç∑ÅB

QuickTime Ç…ä÷Ç∑ÇÈdžÇÈï∂å£Çí≤Ç◊ÇΩÇΔDZÇÎÅAOpenADataHandler ǙdžÇÈDZÇΔÇ™ÇÌÇ©ÇËNjǵÇΩÅBDZÇÃä÷êîÇÕÅAéÑǙǂÇËÇΩǩǡÇΩDZÇΔÇ™Ç≈Ç´ÇÈÅAÇÕÇÈǩDžóDÇÍÇΩï÷óòÇ»ï˚ñ@ÇÃÇÊǧDžévǶNjǵÇΩÅBDZÇà API ÇégǧÇΩÇflÇ…ÅAëOÇ…èëÇ¢ÇΩÉRÅ[ÉhÇÇ∑Ç◊ǃçÌèúǵNjǵÇΩÇ™ÅAìØÇ∂ couldNotResolveDataRef ÉGÉâÅ[Ç™ï‘Ç≥ÇÍÇ‹Ç∑ÅB

DataHSetDataRef Çã@î\Ç≥ÇπÇÈÇΩÇflÇ…âΩǩǟǩDžÇ≈Ç´ÇÈDZÇΔÇÕdžÇËÇ‹Ç∑Ç©ÅH OpenADataHandler ÇÕê≥ǵǢ API Ç»ÇÃÇ≈ǵÇÂǧǩÅH

AÅFDataHSetDataRef ÇÕÅAåªç›àµÇ¡ÇƒÇ¢ÇÈÉfÅ[É^ÉnÉìÉhÉâÇÃÉRÉìÉ|Å[ÉlÉìÉgÇ…ÉfÅ[É^éQèΔÇäÑÇËìñǃNjÇ∑ÅBDZÇÃéQèΔÇÕÅAÉÄÅ[ÉrÅ[ÇÃÉRÉìÉeÉiÇéØï ÇµÇªÇÃèÍèäÇå©Ç¬ÇØÇÈÇΩÇflÇ…égǢNjÇ∑ÅB

DataHSetDataRef Çà 'alis' ÉfÅ[É^ÉnÉìÉhÉâÉRÉìÉ|Å[ÉlÉìÉgÇÃì‡ïîé¿ëïÇÕÅAMatchAlias Çé¿çsǵǃÅAéQèΔêÊÇÃÉtÉ@ÉCÉãÇíTǵNjÇ∑ÅBMatchAlias ÇÕÅAÉtÉ@ÉCÉãǙǻǢèÍçáÇ…ÇÕÅAÉtÉ@ÉCÉãÇ™å©Ç¬Ç©ÇÁǻǩǡÇΩDZÇΔÇé¶Ç∑ÉGÉâÅ[ÅifnfErrÅjÇï‘ǵNjÇ∑Ç™ÅAóLå¯Ç» FSSpec LJï‘ǵNjÇ∑°

DZÇÃÇΔÇ´Ç… DataHSetDataRef Ç©ÇÁï‘Ç≥ÇÍÇÈÇÃÇÕÅAcouldNotResolveDataRef ÇΔǢǧÉGÉâÅ[Ç≈ÅAÇ‹Ç≥ǵÇ≠ëòãˆÇµÇƒÇ¢ÇÈÉGÉâÅ[Ç≈Ç∑ÅBåƒÇ—èoǵÇÕÉGÉâÅ[Çï‘ǵNjÇ∑Ç™ÅAÉfÅ[É^éQèΔÇ…ñ‚ëËÇÕdžÇËÇ‹ÇπÇÒÅB

àÍï˚ÅAOpenADataHandler ÇÕÅA1 âÒÇÃåƒÇ—èoǵÇ≈ÅAÉfÅ[É^ÉnÉìÉhÉâÇÃÉRÉìÉ|Å[ÉlÉìÉgÇå©Ç¬ÇØÇƒÅAǪÇÍÇäJÇ´ÅAê›íËÇ∑ÇÈä»à’ä÷êîÇ≈Ç∑ÅBǪÇÃì‡ïîé¿ëïÇ≈ÇÕÅAGetDataHandlerÅAOpenAComponentÅAÇ®ÇÊÇ— SetDataRef ÇèáÇ…åƒÇ—èoǵNjÇ∑ÅBÇΩÇæÇµÅADataHSetDataRef ÇÃåãâ Çí≤Ç◊ÅAåãâ Ç™ noErr Ç≈ǻǢèÍçáÇ…ÇÕÅADZDZÇ≈LJ couldNotResolveDataRef Çï‘ǵNjÇ∑ÅB

ǵÇΩǙǡǃÅAåªéûì_Ç≈ÇÕÅAGetDataHandlerÅA OpenAComponentÅAÇ®ÇÊÇ— SetDataRef ÇÃåƒÇ—èoǵÇÃï¿Ç—ÅiÉäÉXÉg 1 éQèΔÅjÇÅAÇÊÇËíPèÉÇ» OpenADataHandler ÇÃåƒÇ—èoǵDžíuÇ´ä∑ǶÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅBÉtÉ@ÉCÉãÇ™ä˘Ç…ë∂ç›Ç∑ÇÍÇŒÅADZÇÃñ‚ëËÇ…ëòãˆÇ∑ÇÈDZÇΔÇÕdžÇËÇ‹ÇπÇÒÅB

ÉtÉ@ÉCÉãÇ™ë∂ç›ÇµÇ»Ç¢â¬î\ê´Ç‡Ç†ÇÈÇÃÇ≈ÅAÉRÅ[ÉhÇ≈ÇÕ DataHSetDataRef ÇÃåãâ Çñ≥éãǵǃǢNjÇ∑ÅB

Component   dh;
DataHandler theDataHandler;

dh = GetDataHandler((Handle)inAlias, inDataRefType, kDataHCanRead | kDataHCanWrite);
if (NULL == dh) {
    err = cantFindHandler;
    goto bail;
}

err = OpenAComponent(dh, &theDataHandler);
if (err) goto bail;

// ÉtÉ@ÉCÉãÇ™ë∂ç›ÇµÇ»Ç¢â¬î\ê´Ç‡Ç†ÇÈÇÃÇ≈ÅADZÇÃåƒÇ—èoǵÇÃÉGÉâÅ[ÇÕñ≥éãÇ∑ÇÈ
DataHSetDataRef(theDataHandler, (Handle)inAlias);

ÉäÉXÉg 1 ÉfÅ[É^ÉnÉìÉhÉâÇíTǵǃäJÇ≠

Ç≥ÇÁÇ…ÅAÉRÉìÉ|Å[ÉlÉìÉgÉ}ÉlÅ[ÉWÉÉä÷êîÇÕÅAì¡íËÇÃÉ^ÉCÉvÇÃÉfÅ[É^éQèΔÇ…ëŒâûǵÇΩÉfÅ[É^ÉnÉìÉhÉâÇ™ï°êîdžÇÈèÍçáÇ…ÇÕÅAç≈ëPÇÃëIëÇ™Ç≈ǴǻǢDZÇΔÇ™ÇÊÇ≠džÇËÇ‹Ç∑ÅBäJî≠é“ÇÕÅAÉfÅ[É^ÉnÉìÉhÉâÉRÉìÉ|Å[ÉlÉìÉgÇíTǵÇΩÇËÅAäJÇ¢ÇΩÇËÇ∑ÇÈèÍçáÇÕïKÇ∏ÅAGetDataHandler API Ç‹ÇΩÇÕ OpenADataHandler API ÇÃÇ«ÇøÇÁÇ©ÇégÇÌÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅiè„èqÇÃñ‚ëËÇ…íçà”ÅjÅBFindNextComponent ÇégǧÇΔÅAñ]ÇÒÇ≈ǢǻǢÉRÉìÉ|Å[ÉlÉìÉgÇéÊìæÇµÇƒÇµÇ‹Ç§â¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅB

ó·Ç¶ÇŒÅA'alis' ÉfÅ[É^ÉnÉìÉhÉâÇíTǵǃǢÇÈÇΔÇ´Ç…ÅACDi ÉfÉBÉXÉNópÇà Apple ÉGÉCÉäÉAÉXÉfÅ[É^ÉnÉìÉhÉâÅAíPÇ»ÇÈ Apple ÉGÉCÉäÉAÉXÉfÅ[É^ÉnÉìÉhÉâÅAÇ‹ÇΩÇÕÉXÉgÉäÅ[É~ÉìÉOÉtÉ@ÉCÉãÉfÅ[É^ÉnÉìÉhÉâÇ™å©Ç¬Ç©ÇÈDZÇΔǙdžÇËÇ‹Ç∑ÅBDZÇÍÇÁÇÃÉ^ÉCÉvÅAÇ®ÇÊÇ—ÉTÉuÉ^ÉCÉvÇÕÇ∑Ç◊ǃìØÇ∂Ç≈Ç∑Ç™ÅAǪÇÍǺÇÍégópñ⁄ìIÇ™àŸÇ»ÇËÇ‹Ç∑ÅB

í«â¡èÓïÒÅF

QuickTime Data Handler Documentation

Using Data Handler Components

GetDataHandler Reference

OpenADataHandler Reference


[2002 îN 2 åé 7 ì˙]